package com.css.zfzx.fwsjcj.modules.structure.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.handler.inter.IExcelDataModel;
import cn.afterturn.easypoi.handler.inter.IExcelModel;

import javax.validation.constraints.NotNull;
import java.util.Objects;

/**
 * @author leon
 * @Title:
 * @Description: 土木结构
 * @date 2020/6/2 15:14
 */

public class FwBuildingStructureVo implements IExcelDataModel, IExcelModel {
    private Integer rowNum;
    private String errorMsg;
    /**
     * 土木结构样本编号
     */
    @NotNull(message = "缺失")
    @Excel(name = "样本编号", orderNum = "0", width = 15)
    private String buildingStructureNum;

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getCollectUser() {
        return collectUser;
    }

    public void setCollectUser(String collectUser) {
        this.collectUser = collectUser;
    }

    /**
     * 所属省
     */
    @NotNull(message = "缺失")
    @Excel(name = "所属省份", orderNum = "1", width = 15)
    private String belongtoProvince;
    /**
     * 所属市
     */
    @NotNull(message = "缺失")
    @Excel(name = "所属地级市", orderNum = "2", width = 15)
    private String belongtoCity;
    /**
     * 所属区县
     */
    @NotNull(message = "缺失")
    @Excel(name = "所属区县", orderNum = "3", width = 15)
    private String belongtoArea;
    /**
     * 所属街道
     */
    @NotNull(message = "缺失")
    @Excel(name = "所属乡镇街道", orderNum = "4", width = 15)
    private String belongtoStreet;
    @Excel(name = "经度", orderNum = "4", width = 15)
    private String longitude;
    @Excel(name = "纬度", orderNum = "4", width = 15)
    private String latitude;
    /**
     * 所属居委会
     */
    @Excel(name = "所属村居委会", orderNum = "5", width = 15)
    private String belongtoTown;
    /**
     * 建筑名称
     */
    @NotNull(message = "缺失")
    @Excel(name = "样本建筑名称", orderNum = "6", width = 15)
    private String buildingName;
    /**
     * 数据状态
     */
    /*@NotNull(message = "缺失")*/
    @Excel(name = "数据状态", orderNum = "7", width = 15)
    private String status  = "0";
    /**
     * 数据采集人
     */
    /*@NotNull(message = "缺失")*/
    @Excel(name = "数据采集人", orderNum = "7", width = 15)
    private String collectUser;

    /**
     * 建造年代（70s以前,70s,80s,90s,00s,10s）
     */
    @NotNull(message = "缺失")
    @Excel(name = "建造年代", orderNum = "7", width = 15)
    private String buildingAge;
    /**
     * 场地类型(I类、II类、III类、IV类)
     */
    @NotNull(message = "缺失")
    @Excel(name = "场地类型", orderNum = "8", width = 15)
    private String siteType;
    /**
     * 基础类型(满堂红、条形基础、砖基础、毛石片石卵石、其他)
     */
    @NotNull(message = "缺失")
    @Excel(name = "基础类型", orderNum = "9", width = 15)
    private String baseType;
    /**
     * 建筑面积
     */
    @NotNull(message = "缺失")
    @Excel(name = "建筑面积", orderNum = "10", width = 15)
    private Double buildingArea;
    /**
     * 建筑长度
     */
    @NotNull(message = "缺失")
    @Excel(name = "建筑长度", orderNum = "11", width = 15)
    private Double buildingLength;
    /**
     * 建筑宽度
     */
    @NotNull(message = "缺失")
    @Excel(name = "建筑宽度", orderNum = "12", width = 15)
    private Double buildingWidth;
    /**
     * 层数
     */
    @NotNull(message = "缺失")
    @Excel(name = "层数", orderNum = "13", width = 15)
    private Integer floorNum;
    /**
     * 建筑高度
     */
    @NotNull(message = "缺失")
    @Excel(name = "建筑高度", orderNum = "14", width = 15)
    private Double buildingHeight;
    /**
     * 墙体类型
     */
    @NotNull(message = "缺失")
    @Excel(name = "墙体类型", orderNum = "15", width = 15)
    private String wallType;
    /**
     * 墙体厚度
     */
    @NotNull(message = "缺失")
    @Excel(name = "墙体厚度", orderNum = "16", width = 15)
    private Double wallThick;
    /**
     * 墙体圈梁（有圈梁,无圈梁）
     */
    @NotNull(message = "缺失")
    @Excel(name = "墙体圈梁", orderNum = "17", width = 15)
    private String wallRingBeam;
    /**
     * 墙体砌筑方式(分层交错夯筑,土坯咬砌,其他)
     */
    @NotNull(message = "缺失")
    @Excel(name = "墙体砌筑方式", orderNum = "18", width = 15)
    private String qtdqStyle;
    /**
     * 门窗洞口宽度
     */
    @NotNull(message = "缺失")
    @Excel(name = "门窗洞口宽度", orderNum = "19", width = 15)
    private String windowWidth;
    /**
     * 墙体延性材料
     */
    @NotNull(message = "缺失")
    @Excel(name = "墙体延性材料", orderNum = "20", width = 15)
    private String qtyxcl;
    /**
     * 承重墙最大间距
     */
    @NotNull(message = "缺失")
    @Excel(name = "承重墙最大间距", orderNum = "21", width = 15)
    private String czqMaxSpace;
    /**
     * 屋面形式（平屋面,单坡屋面,双坡屋面,弧面）
     */
    @NotNull(message = "缺失")
    @Excel(name = "屋面形式", orderNum = "22", width = 15)
    private String wmStyle;
    /**
     * 屋面材料（轻屋面,重屋面）
     */
    @NotNull(message = "缺失")
    @Excel(name = "屋面材料", orderNum = "23", width = 15)
    private String wmMaterial;
    /**
     * 硬山搁檩(0（否）,1（是）)
     */
    @NotNull(message = "缺失")
    @Excel(name = "硬山搁檩", orderNum = "24", width = 15)
    private String ysge;
    /**
     * 屋、楼盖拉结措施
     */
    @NotNull(message = "缺失")
    @Excel(name = "屋、楼盖拉结措施", orderNum = "25", width = 15)
    private String wlgljcs;
    /**
     * 出屋面构件
     */
    @NotNull(message = "缺失")
    @Excel(name = "出屋面构件", orderNum = "26", width = 15)
    private String cwmgj;
    /**
     * 建筑现状(完好,墙体歪闪,墙体开裂,墙体腐蚀酥碎,楼屋盖构件有变形,地基不均匀沉降)
     */
    @NotNull(message = "缺失")
    @Excel(name = "建筑现状", orderNum = "26", width = 15)
    private String buildingSituation;
    /**
     * 建筑造价/重置单价(保留2位小数，单位：万元/平方米)
     */
    @NotNull(message = "缺失")
    @Excel(name = "建筑造价/重置单价", orderNum = "26", width = 15)
    private Double buildingCost;
    /**
     * 建筑照片
     */
    /*@Excel(name = "建筑照片", orderNum = "26", width = 15, height = 30, type = 2)*/
    private String buildingPhoto;
    /**
     * 信息说明（填写需要说明的相关信息）
     */
    @Excel(name = "信息说明", orderNum = "27", width = 15)
    private String msgIllustrate;

    @Override
    public Integer getRowNum() {
        return rowNum;
    }

    @Override
    public void setRowNum(Integer rowNum) {
        this.rowNum = rowNum;
    }

    @Override
    public String getErrorMsg() {
        return errorMsg;
    }

    @Override
    public void setErrorMsg(String errorMsg) {
        this.errorMsg = errorMsg;
    }

    public String getBuildingStructureNum() {
        return buildingStructureNum;
    }

    public void setBuildingStructureNum(String buildingStructureNum) {
        this.buildingStructureNum = buildingStructureNum;
    }

    public String getBelongtoProvince() {
        return belongtoProvince;
    }

    public void setBelongtoProvince(String belongtoProvince) {
        this.belongtoProvince = belongtoProvince;
    }

    public String getBelongtoCity() {
        return belongtoCity;
    }

    public void setBelongtoCity(String belongtoCity) {
        this.belongtoCity = belongtoCity;
    }

    public String getBelongtoArea() {
        return belongtoArea;
    }

    public void setBelongtoArea(String belongtoArea) {
        this.belongtoArea = belongtoArea;
    }

    public String getBelongtoStreet() {
        return belongtoStreet;
    }

    public void setBelongtoStreet(String belongtoStreet) {
        this.belongtoStreet = belongtoStreet;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public String getBelongtoTown() {
        return belongtoTown;
    }

    public void setBelongtoTown(String belongtoTown) {
        this.belongtoTown = belongtoTown;
    }

    public String getBuildingName() {
        return buildingName;
    }

    public void setBuildingName(String buildingName) {
        this.buildingName = buildingName;
    }

    public String getBuildingAge() {
        return buildingAge;
    }

    public void setBuildingAge(String buildingAge) {
        this.buildingAge = buildingAge;
    }

    public String getSiteType() {
        return siteType;
    }

    public void setSiteType(String siteType) {
        this.siteType = siteType;
    }

    public String getBaseType() {
        return baseType;
    }

    public void setBaseType(String baseType) {
        this.baseType = baseType;
    }

    public Double getBuildingArea() {
        return buildingArea;
    }

    public void setBuildingArea(Double buildingArea) {
        this.buildingArea = buildingArea;
    }

    public Double getBuildingLength() {
        return buildingLength;
    }

    public void setBuildingLength(Double buildingLength) {
        this.buildingLength = buildingLength;
    }

    public Double getBuildingWidth() {
        return buildingWidth;
    }

    public void setBuildingWidth(Double buildingWidth) {
        this.buildingWidth = buildingWidth;
    }

    public Integer getFloorNum() {
        return floorNum;
    }

    public void setFloorNum(Integer floorNum) {
        this.floorNum = floorNum;
    }

    public Double getBuildingHeight() {
        return buildingHeight;
    }

    public void setBuildingHeight(Double buildingHeight) {
        this.buildingHeight = buildingHeight;
    }

    public String getWallType() {
        return wallType;
    }

    public void setWallType(String wallType) {
        this.wallType = wallType;
    }

    public Double getWallThick() {
        return wallThick;
    }

    public void setWallThick(Double wallThick) {
        this.wallThick = wallThick;
    }

    public String getWallRingBeam() {
        return wallRingBeam;
    }

    public void setWallRingBeam(String wallRingBeam) {
        this.wallRingBeam = wallRingBeam;
    }

    public String getQtdqStyle() {
        return qtdqStyle;
    }

    public void setQtdqStyle(String qtdqStyle) {
        this.qtdqStyle = qtdqStyle;
    }

    public String getWindowWidth() {
        return windowWidth;
    }

    public void setWindowWidth(String windowWidth) {
        this.windowWidth = windowWidth;
    }

    public String getQtyxcl() {
        return qtyxcl;
    }

    public void setQtyxcl(String qtyxcl) {
        this.qtyxcl = qtyxcl;
    }

    public String getCzqMaxSpace() {
        return czqMaxSpace;
    }

    public void setCzqMaxSpace(String czqMaxSpace) {
        this.czqMaxSpace = czqMaxSpace;
    }

    public String getWmStyle() {
        return wmStyle;
    }

    public void setWmStyle(String wmStyle) {
        this.wmStyle = wmStyle;
    }

    public String getWmMaterial() {
        return wmMaterial;
    }

    public void setWmMaterial(String wmMaterial) {
        this.wmMaterial = wmMaterial;
    }

    public String getYsge() {
        return ysge;
    }

    public void setYsge(String ysge) {
        this.ysge = ysge;
    }

    public String getWlgljcs() {
        return wlgljcs;
    }

    public void setWlgljcs(String wlgljcs) {
        this.wlgljcs = wlgljcs;
    }

    public String getCwmgj() {
        return cwmgj;
    }

    public void setCwmgj(String cwmgj) {
        this.cwmgj = cwmgj;
    }

    public String getBuildingSituation() {
        return buildingSituation;
    }

    public void setBuildingSituation(String buildingSituation) {
        this.buildingSituation = buildingSituation;
    }

    public Double getBuildingCost() {
        return buildingCost;
    }

    public void setBuildingCost(Double buildingCost) {
        this.buildingCost = buildingCost;
    }

    public String getBuildingPhoto() {
        return buildingPhoto;
    }

    public void setBuildingPhoto(String buildingPhoto) {
        this.buildingPhoto = buildingPhoto;
    }

    public String getMsgIllustrate() {
        return msgIllustrate;
    }

    public void setMsgIllustrate(String msgIllustrate) {
        this.msgIllustrate = msgIllustrate;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        FwBuildingStructureVo that = (FwBuildingStructureVo) o;
        return Objects.equals(rowNum, that.rowNum) &&
                Objects.equals(errorMsg, that.errorMsg) &&
                Objects.equals(buildingStructureNum, that.buildingStructureNum) &&
                Objects.equals(belongtoProvince, that.belongtoProvince) &&
                Objects.equals(belongtoCity, that.belongtoCity) &&
                Objects.equals(belongtoArea, that.belongtoArea) &&
                Objects.equals(belongtoStreet, that.belongtoStreet) &&
                Objects.equals(belongtoTown, that.belongtoTown) &&
                Objects.equals(buildingName, that.buildingName) &&
                Objects.equals(buildingAge, that.buildingAge) &&
                Objects.equals(siteType, that.siteType) &&
                Objects.equals(baseType, that.baseType) &&
                Objects.equals(buildingArea, that.buildingArea) &&
                Objects.equals(buildingLength, that.buildingLength) &&
                Objects.equals(buildingWidth, that.buildingWidth) &&
                Objects.equals(floorNum, that.floorNum) &&
                Objects.equals(buildingHeight, that.buildingHeight) &&
                Objects.equals(wallType, that.wallType) &&
                Objects.equals(wallThick, that.wallThick) &&
                Objects.equals(wallRingBeam, that.wallRingBeam) &&
                Objects.equals(qtdqStyle, that.qtdqStyle) &&
                Objects.equals(windowWidth, that.windowWidth) &&
                Objects.equals(qtyxcl, that.qtyxcl) &&
                Objects.equals(czqMaxSpace, that.czqMaxSpace) &&
                Objects.equals(wmStyle, that.wmStyle) &&
                Objects.equals(wmMaterial, that.wmMaterial) &&
                Objects.equals(ysge, that.ysge) &&
                Objects.equals(wlgljcs, that.wlgljcs) &&
                Objects.equals(cwmgj, that.cwmgj) &&
                Objects.equals(buildingSituation, that.buildingSituation) &&
                Objects.equals(buildingCost, that.buildingCost) &&
                Objects.equals(buildingPhoto, that.buildingPhoto) &&
                Objects.equals(msgIllustrate, that.msgIllustrate);
    }

    @Override
    public int hashCode() {
        return Objects.hash(rowNum, errorMsg, buildingStructureNum, belongtoProvince, belongtoCity, belongtoArea, belongtoStreet, belongtoTown, buildingName, buildingAge, siteType, baseType, buildingArea, buildingLength, buildingWidth, floorNum, buildingHeight, wallType, wallThick, wallRingBeam, qtdqStyle, windowWidth, qtyxcl, czqMaxSpace, wmStyle, wmMaterial, ysge, wlgljcs, cwmgj, buildingSituation, buildingCost, buildingPhoto, msgIllustrate);
    }

    @Override
    public String toString() {
        return "FwBuildingStructureVO{" +
                "rowNum=" + rowNum +
                ", errorMsg='" + errorMsg + '\'' +
                ", buildingStructureNum='" + buildingStructureNum + '\'' +
                ", belongtoProvince='" + belongtoProvince + '\'' +
                ", belongtoCity='" + belongtoCity + '\'' +
                ", belongtoArea='" + belongtoArea + '\'' +
                ", belongtoStreet='" + belongtoStreet + '\'' +
                ", belongtoTown='" + belongtoTown + '\'' +
                ", buildingName='" + buildingName + '\'' +
                ", buildingAge='" + buildingAge + '\'' +
                ", siteType='" + siteType + '\'' +
                ", baseType='" + baseType + '\'' +
                ", buildingArea=" + buildingArea +
                ", buildingLength=" + buildingLength +
                ", buildingWidth=" + buildingWidth +
                ", floorNum=" + floorNum +
                ", buildingHeight=" + buildingHeight +
                ", wallType='" + wallType + '\'' +
                ", wallThick=" + wallThick +
                ", wallRingBeam='" + wallRingBeam + '\'' +
                ", qtdqStyle='" + qtdqStyle + '\'' +
                ", windowWidth='" + windowWidth + '\'' +
                ", qtyxcl='" + qtyxcl + '\'' +
                ", czqMaxSpace='" + czqMaxSpace + '\'' +
                ", wmStyle='" + wmStyle + '\'' +
                ", wmMaterial='" + wmMaterial + '\'' +
                ", ysge='" + ysge + '\'' +
                ", wlgljcs='" + wlgljcs + '\'' +
                ", cwmgj='" + cwmgj + '\'' +
                ", buildingSituation='" + buildingSituation + '\'' +
                ", buildingCost=" + buildingCost +
                ", buildingPhoto='" + buildingPhoto + '\'' +
                ", msgIllustrate='" + msgIllustrate + '\'' +
                '}';
    }
}
